// 评论回复数据库
const { DataTypes } = require("sequelize");
const sequelize = require("../config/sequelize");
const User = require("./user");
const Post = require("./post");

const Message = sequelize.define(
  "Message",
  {
    content:{
        type: DataTypes.TEXT,
        allowNull:false,
        comment: '消息内容'
    },
    userId:{
        type: DataTypes.INTEGER,
        references: {
          // 这是对另一个模型的参考
          model: User,
          // 这是引用模型的列名
          key: 'id',
        },
        comment:'消息对象'
    },
    commentId:{
        type: DataTypes.INTEGER,
        allowNull:false,
        comment: '消息评论'
    },
    type:{
        type: DataTypes.INTEGER,
        allowNull:false,
        comment: '消息类型' //0代表点赞，1代表评论，2代表回复
    },
    isRead:{
        type: DataTypes.INTEGER,
        allowNull:false,
        defaultValue:0,
        comment: '是否已读' //0代表未读，1代表已读
    }
  },
  {
    sequelize:sequelize,
    tableName:'message',
    underscored:true
  }
);
Message.belongsTo(User,{
    constraints:false,
    foreignKey:'operatorId',
    as:'operator'
});

Message.belongsTo(Post,{
    constraints:false,
    foreignKey:'postId',
    as:'post'
});

module.exports = Message;
